1. Field of the Invention
The present invention relates generally to computer network-based application programming, design, and maintenance. More specifically, it relates to data constructs and methodologies for creating online, multiuser applications based on a single, uniform data model.
2. Discussion of Related Art
As the Internet and the World Wide Web grow and attract more and more viewers and content-providers, there has been a trend towards customization and, more broadly, user-empowerment. This movement in the online arena, whether on the Internet or an enterprise-based network, is marked by enabling users to create, customize and maintain their own presence on the network. One example of this is the proliferation of customized Web home pages for individuals that contain only information of specific interest to an individual and that can be edited by that individual. A broader example of user-empowerment is giving an online user or entity the ability to create a full-scale, customized Web site. Although users, primarily businesses, have been creating their own Web sites for years, not surprisingly, they have done so by hiring consultants and Web developers to do the work for them. However, as online application development reaches new levels, many of the initial technological and financial barriers are breaking down.
There are now available to online users several tools and wizard programs that allow them to build their own online applications, almost entirely without the help of Internet programmers or Web-site developers. A wizard is a set of steps (presented as separate screens/panels) that automate a task by asking users questions (with between one and ten questions per screen/panel). Many users now create their own home pages or complete Web sites using software from various vendors, such as popular software from Symantec Software Corporation and Microsoft Corporation, to name just two. Another trend that will inevitably grow more in the future is entities, typically commercial entities, building their own Web site to conduct online business or electronic commerce (“e-commerce”). Presently, there are providers that enable these entities to build their own commercial Web site, but there are still a number of drawbacks.
While advances in online application development have allowed users to create their own Web sites, little attention has been given thus far to forming a comprehensive, integrated, or complete solution and to providing a uniform user experience. E-commerce or e-business sites have increased dramatically in complexity, adding functionality such integration with customer databases, inventory management, and supply-chain management. Presently, no solution provides a platform for the continual advancement and integration of new e-business capabilities into a single framework with common data and user experience. In other words, no single package or toolkit currently available gives a user the ability to create a fully functioning commercially-enabled Web site. Nor do the toolkits provide a uniform user interface or, more broadly, user experience with which the user can become familiar and efficient.
The numerous services needed to build a complete online presence have disparate user experiences, thereby preventing any significant leveraging of skills users gain from a consistent user interface. Presently, users must register with each of the different Web sites where each site provides a different feature or function needed for the user's online presence. For example, a user may use a catalog building application tool from one provider and have to use a reporting or marketing tool from another provider, and then have to address communication between these and other components of the Web site. In another example, a user has to use several different programs such as a Web page development program, a graphics program, a database program, put them together, and then load it up to an ISP. Lack of uniformity in the user experience and the need to go to different providers are major barriers to entities building and maintaining their own online presence.
Although various application development models exist, none are entirely well-suited for enabling an entity to build its own “industrial-strength” network-based application, such as a comprehensive and commercially-enabled Web site. One such model can be referred to as a unified data model or “whiteboards” developed originally at MIT. This model used software agents to gather data and was used for single-application and multiple users. Many applications developed for online use are inherently multi-application (e.g., creating a catalog, reporting, site-building, etc.). Another application development model was used with the Newton hand-held digital organizer developed by Apple Computer Corp. The tool developed for the Newton enabled the execution of multiple applications but was geared for a single-user space. Naturally, any single-user model is not well suited for online application development. Furthermore, neither model supported a distributed architecture in which various components of the application reside at different places on the network.
Therefore, it would be desirable to have an integrated platform having a reactive architecture that allows a user to create a distributed, online application that can perform as a complete solution to a goal or problem. The platform should provide for single registration and have a seamless, uniform user experience that fosters leveraging skills learned from previous sessions. It would also be desirable for the platform to be distributed, and be multi-user and multi-application. Furthermore, it would be desirable for the architecture to be task-based and to provide for a uniform expression of data, which can be shared and is extensible.